                            DIO interpreter Symbols

{}        Lexical unit separators
$         Command symbol
"         String separator
'         Number seprator (string ordered characters)
`         Number separator (number ordered characters), Value name marker
~         Real number marker
*         Value indirection
!         Explicite command marker
?         Explicite macro marker (recursive)
.         Explicite macro marker (simple)

                           DIO interpreter Operators

\         Insert character
\!        Exit from DIO
\+        Break current level
\-        Restore previous level

%.        Modify control level
%+        Evaluation enabled mode
%-        Evaluation disabled mode
%!        Next command is always interpreted (in both mode)
%?        Get evaluation mode
%<        Load value DB
%>        Save value DB
%%        Get environment

@<        Function call
@>        Function return
@:        Function call with parameter array
@+        Append value(s) to parameter array

_>        Delete string
_:        Delete at

?=        Equal (value)
?~        Not equal (value)
?<        Find back
?>        Find forward
?:        Not null
?0        Is null
??        Evalute in loop
..        Skip block

##        Explicite return value
#<        String to number
#>        Number to string
#>.       Number to real
X>.       Integer to real

.<        String to real
.>        Real to string
.>X       Real to integer

<<        Put string, Shift left
>>        Get string, Shift right

@@#       System call
@@:       VP prepare
@@*       VP run
@@+       VP step
@@>       Get VP state
@@<       Set VP state
@@?       Report VP state

?[%]      Insert string (with evaluation) [without parameter substitution]
.[%]      Insert string (without evaluation) [without parameter substitution]

:         Goto, Add value
:~        Add local value
&         Get buffer address, AND
#         Get buffer length, Get parameter length, Get/Set value length
^         Get max. buf. length, Get max. value length, XOR
=         Get buffer position, Set value
~         Delete value
**        Get/Set value substring
*?        Get macro
+=        Append to value

-         Negation, Subtraction
+         Addition, Concatenate names
*         Multiplication, Indirection
/         Division
%         Remainder, Last value
!         NOT
|         OR
<         Less
>         Greater
<=        Less or eqaul
>=        Greater or equal
==        Equal
!=        Not equal
